1. Field of the Invention
The present invention relates to the field of printing and in particular, to systems and methods to implement trapping for print devices.
2. Description of Related Art
Pixels generated by a color printer typically consist of colors from multiple color planes. For example, in a color printer that uses cyan, magenta, yellow, and black (“CMYK”), a single pixel can consist of color from one or more of the four color planes. A wide range of colors may be produced by a printer when colors from constituent color planes are combined with differing intensities. The color components that make up a pixel are ideally printed on top of, or very close to one another. However, because of misregistration caused by print engine misalignment, paper stretching, and other mechanical imprecisions, the constituent color planes that make up a single pixel may not overlap adequately resulting in unsightly small white gaps between different-colored regions on the page, or in colored edges to black regions. To redress misregistration it is common to use a technique called trapping, which expands or contracts coloring regions slightly in order to eliminate white gaps and/or colored edges between graphical objects. Trapping introduces areas of color into color separations and masks the visible effects of misregistration.
Some software applications generate trapping data directly in the print job. By moving the trapping function for an entire page to a late stage in the output process, the exact colorants and resources available on the device are known when the trapping is performed.
Trapping is often implemented by (i) modifying or adding display list objects, or (ii) by directly modifying data in the frame buffer of the Raster Image Processor (“RIP”). Here, we term the first method in-RIP trapping, and the second raster-based trapping. While in-RIP trapping provides flexibility, it is complicated to implement because of the relatively large number of trapping parameters and display list objects that need to be tracked. The second method is less complex to implement. However, it is less accurate and involves the computationally expensive step of finding object boundaries using data in the frame buffer that potentially spans multiple color planes.
Thus, there is a need for systems and methods that provide trapping functionality at a low implementation and computational cost while maintaining the quality of trapped printed output.